The present invention is related generally to the field of memory systems using non-volatile memory, such as solid-state drives (“SSDs”) and other storage devices, and, more particularly, to control arrangements and methods for accessing block oriented nonvolatile memory.
Prior art solid state drives typically include a controller that can be interfaced with a standard host device as well as a plurality of flash memory devices. The flash memory devices are generally each in the form of a memory die. The connection between the controller and the flash memory devices is typically in the form of a flash-oriented interface with each memory device being individually connected to the flash-oriented interface. The controller may have a plurality of flash-oriented interfaces with each of these interfaces being connected to a plurality of memory devices. Applicants recognize that there are a number of disadvantages with respect to this prior art configuration, particularly with respect to larger capacity solid-state drives. For example, the controller must control a large number of individual memory devices. As another example, the number of signal connection points that are required on the controller increase in proportion to the capacity of the drive. In still another example, the controller is responsible for management functions (e.g., overhead functions, such as wear leveling) such that the interface between the controller and the memory devices is burdened by traffic relating to these functions. As yet another example, testing and monitoring of large numbers of memory devices by the controller is a complex task.
Applicants also recognize a related concern with respect to the use of non-volatile memory in the prior art with regard to block-oriented non-volatile memory. It should be appreciated that the prevailing approach of the prior art with respect to access of block-oriented non-volatile memory is to allocate user data plus accompanying extra information exactly onto a physical page. For purposes of the present discussions, the term “block-oriented” relates to the use of a page based memory that is employed by using user data blocks that are generally of a length that is equal to the page length. As will be further discussed, with block-oriented memory, some pages may be partially unused based on a user data block that is shorter than one page length, but user data blocks are not longer than the page length. By way of non-limiting example, NAND flash is typically configured so as to be of this type of block-oriented memory. This type of inflexible allocation in block-oriented memory thus produces an exact correspondence between the stored information and the number of storage cells comprising each physical page and is customary within the industry for both Single Bit per Cell memory (SBC) and Multi-Bit per Cell memory (MBC).
Applicants further recognize that such an approach is inflexible in matching user data to page-units in a particular memory device. The physical page size is a design parameter of the memory and cannot be changed. A penalty will be incurred in the event of a mismatch between the number of storage cells in a physical page and the number of cells required per block by an application. The penalty can be in the form of insufficient cells to meet ECC requirements, thus leading to poor reliability of the application; or it can be in the form of storage inefficiency if there are a more than the needed number of cells in each physical page. Thus, designers of non-volatile memory devices, e.g., NAND flash, are challenged with attempting to predict the needed page size before the memory is even produced. Almost inevitably, a given page size will be not be well-suited to at least some subset of the applications to which the use of the memory is directed.
The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent to those of skill in the art upon a reading of the specification and a study of the drawings.